1. Technical Field of the Invention
The present invention relates to a magnetic sensor control device, method, and program.
2. Description of the Related Art
In a first aspect, a conventional 3-dimensional (3D) magnetic sensor mounted on a moving body detects the direction of an Earth's magnetic field (geomagnetism). The 3D magnetic sensor generally includes 3 magnetic sensor modules to detect scalar components of the magnetic field vector in 3 orthogonal directions. Magnetic data output from the 3D magnetic sensor has 3 components since the magnetic data consists of a combination of outputs of the 3 magnetic sensor modules. The direction and magnitude of a vector having components corresponding to the magnetic data corresponds to the direction and magnitude of a magnetic field detected by the 3D magnetic sensor. When specifying the direction or magnitude of an Earth's magnetic field based on outputs of the 3D magnetic sensor, it is necessary to perform a process for correcting the outputs of the 3D magnetic sensor in order to negate magnetization components of the moving body. A control value of this correction process is referred to as an offset. The offset indicates the vector of a magnetic field caused by the magnetization components of the moving body detected by the 3D magnetic sensor. The magnetization components are negated by subtracting the offset from the magnetic data output from the 3D magnetic sensor. It is possible to calculate the offset by obtaining the center of a spherical surface passing through points represented by components corresponding to the magnetic data.
However, practically, a set of points corresponding to magnetic data do not form a perfect sphere. The reasons are that outputs of the 3D magnetic sensor inherently have measurement errors following Gaussian distribution, a magnetic field measured by the 3D magnetic sensor varies during a period in which magnetic data required to calculate the offset is stored since in practice there is no completely uniform magnetic field, and calculation errors occur until digital values are obtained from the outputs of the 3D magnetic sensor.
A conventional method for calculating a magnetic sensor offset stores a large number of magnetic data and calculates the most probable offset through a statistical process of the stored magnetic data (for example, see International Publication No. 2004-003476). However, when the statistical process of a large number of magnetic data is performed, a highly accurate offset cannot be calculated unless a magnetic data group as a statistical population is distributed evenly over a wide range and a peculiar magnetic data is excluded from the statistical population. Accordingly, to calculate a highly accurate offset, it is necessary to select a statistical population and, ultimately, it is not possible to calculate a highly accurate offset only by the statistical process. It also requires a very large amount of processing, a long time, and high resource consumption to calculate the most probable center of a spherical surface through the statistical process.
In a second aspect, a conventional 2-dimensional (2D) magnetic sensor mounted on a moving body detects the direction of the Earth's magnetic field. The 2D magnetic sensor generally includes 2 magnetic sensor modules to detect scalar components of the magnetic field vector in 2 orthogonal directions. Magnetic data output from the 2D magnetic sensor has 2 components since the magnetic data consists of a combination of outputs of the 2 magnetic sensor modules. The direction and magnitude of a vector having components corresponding to the magnetic data corresponds to the direction and magnitude of a magnetic field detected by the 2D magnetic sensor. When specifying the direction or magnitude of the Earth's magnetic field based on outputs of the 2D magnetic sensor, the outputs include magnetization components of the moving body and inherent measurement errors of the magnetic sensor. To negate the magnetization components and measurement errors, it is necessary to perform a process for correcting the outputs of the 2D magnetic sensor. A control value of this correction process is also referred to as an offset likewise the case of 3D magnetic sensor. The offset indicates the vector of a magnetic field caused by the magnetization components of the moving body detected by the 2D magnetic sensor, which includes the measurement errors of the magnetic sensor. The magnetization components and the measurement errors of the magnetic sensor are collectively negated by subtracting the offset from the magnetic data output from the 2D magnetic sensor. It is possible to calculate the offset by obtaining the center of a circle passing through points corresponding to the magnetic data. A process for obtaining the offset is referred to as calibration.
However, practically, a set of points corresponding to magnetic data do not form a perfect circle. The reasons are that outputs of the 2D magnetic sensor inherently have measurement errors following Gaussian distribution, a magnetic field measured by the 2D magnetic sensor varies during a period in which magnetic data required to calculate the offset is stored since in practice there is no completely uniform magnetic field, and calculation errors occur until digital values are obtained from the outputs of the 2D magnetic sensor.
A conventional method for calculating a magnetic sensor offset stores a large number of magnetic data and calculates the most probable offset through a statistical process of the stored magnetic data (for example, see International Publication No. 2004-003476). However, when the statistical process of a large number of magnetic data is performed, a highly accurate offset cannot be calculated unless a statistical population of magnetic data is distributed evenly over a wide range and a peculiar magnetic data is excluded from the statistical population. Accordingly, to calculate a highly accurate offset, it is necessary to select a statistical population and, ultimately, it is not possible to calculate a highly accurate offset only by the statistical process. It also requires a very large amount of processing, a long time, and high resource consumption to calculate the most probable center of a spherical surface through the statistical process.